package com.wh.tokenizer;

public enum TokenType {
    /**
     * 对象的开始 {
     */
    BEGIN_OBJECT(1),

    /**
     * 对象的结束 }
     */
    END_OBJECT(2),

    /**
     * 数组的开始 [
     */
    BEGIN_ARRAY(4),

    /**
     * 数组的结束 ]
     */
    //
    END_ARRAY(8),

    /**
     * null value
     */
    NULL(16),

    /**
     *  数字   例如 123， 123.4， 12e-1
     */
    NUMBER(32),

    /**
     *  字符串
     */
    STRING(64),

    /**
     *  布尔值
     */
    BOOLEAN(128),

    /**
     *  分号 :
     */
    SEP_COLON(256),

    /**
     *  逗号 ,
     */
    SEP_COMMA(512),

    /**
     *  JSON字符串的结束
     */
    END_DOCUMENT(1024);

    TokenType(int code) {
        this.code = code;
    }

    private int code;

    public int getTokenCode() {
        return code;
    }
}
